﻿<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 sp1 (http://www.altova.com) by Manuel Fuentes (CGR) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.contraloria.cl/2005/05/CGRDoc" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.contraloria.cl/2005/05/CGRDoc" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
	<xs:element name="Documento" type="DocumentoType"/>
	<xs:element name="Decreto" type="ContenidoDecretoType"/>
	<xs:element name="Resolucion" type="ContenidoResolucionType"/>
	<xs:element name="Oficio" type="ContenidoOficioType"/>
	<xs:element name="AntecedenteBinario" type="ContenidoAntecedenteBinarioType"/>
	<xs:element name="Sobre" type="ContenidoSobreType"/>
	<xs:element name="Expediente" type="ContenidoExpedienteType"/>
	<xs:element name="Cuerpo" type="ParrafosType"/>
	<xs:element name="Envio" type="EnvioType"/>
	<xs:element name="Pieza" type="PiezaType"/>
	<xs:group name="TramiteGroup">
		<xs:sequence>
			<xs:element name="Tramite">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="codigo" type="xs:string"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="PiezaPrincipal" type="xs:positiveInteger" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
	<xs:simpleType name="eMailType">
		<xs:restriction base="xs:string">
			<xs:pattern value=".*@.*\..*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RegionType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="PRIMERA"/>
			<xs:enumeration value="SEGUNDA"/>
			<xs:enumeration value="TERCERA"/>
			<xs:enumeration value="CUARTA"/>
			<xs:enumeration value="QUINTA"/>
			<xs:enumeration value="SEXTA"/>
			<xs:enumeration value="SEPTIMA"/>
			<xs:enumeration value="OCTAVA"/>
			<xs:enumeration value="NOVENA"/>
			<xs:enumeration value="DECIMA"/>
			<xs:enumeration value="DECIMO PRIMERA"/>
			<xs:enumeration value="DECIMO SEGUNDA"/>
			<xs:enumeration value="METROPOLITANA"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DocumentoType">
		<xs:sequence>
			<xs:element name="Contenido">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Folio" type="FolioType"/>
						<xs:any/>
					</xs:sequence>
					<xs:attribute name="ID" type="xs:string" use="required"/>
					<xs:attribute name="codigo" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element ref="ds:Signature" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="urlDoc" type="xs:anyURI" use="required"/>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="FolioType">
		<xs:sequence>
			<xs:element name="Numero" type="xs:positiveInteger"/>
			<xs:element name="Agno">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="([0-9]{4})"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="codigo" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="ContenidoBaseType">
		<xs:sequence>
			<xs:element name="Folio" type="FolioType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ContenidoDecretoType">
		<xs:sequence>
			<xs:element name="CtlPrevLeg">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="AFECTO"/>
						<xs:enumeration value="EXENTO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="NivelConfid">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="PUBLICO"/>
						<xs:enumeration value="RESERVADO"/>
						<xs:enumeration value="SECRETO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Materia" type="xs:string"/>
			<xs:element name="Emisor" type="DatosType"/>
			<xs:element name="Lugar" type="xs:string"/>
			<xs:element name="Fecha" type="xs:date"/>
			<xs:element name="Visto" type="ParrafosType"/>
			<xs:element name="Considerando" type="ParrafosType"/>
			<xs:element name="TeniendoPresente" type="ParrafosType"/>
			<xs:any minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ContenidoResolucionType">
		<xs:sequence>
			<xs:element name="CtlPrevLeg">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="AFECTO"/>
						<xs:enumeration value="EXENTO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="NivelConfid">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="PUBLICO"/>
						<xs:enumeration value="RESERVADO"/>
						<xs:enumeration value="SECRETO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Materia" type="xs:string"/>
			<xs:element name="Emisor" type="DatosType"/>
			<xs:element name="Lugar" type="xs:string"/>
			<xs:element name="Fecha" type="xs:date"/>
			<xs:element name="Visto" type="ParrafosType"/>
			<xs:element name="Considerando" type="ParrafosType"/>
			<xs:element name="TeniendoPresente" type="ParrafosType"/>
			<xs:any minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ContenidoOficioType">
		<xs:sequence>
			<xs:element name="NivelConfid">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="ORDINARIO"/>
						<xs:enumeration value="RESERVADO"/>
						<xs:enumeration value="SECRETO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Antecedente" type="ParrafosType" minOccurs="0"/>
			<xs:element name="Materia" type="xs:string"/>
			<xs:element name="Lugar" type="xs:string"/>
			<xs:element name="Fecha" type="xs:date"/>
			<xs:element name="De" type="DatosType"/>
			<xs:element name="A">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Destinatario" maxOccurs="unbounded">
							<xs:complexType>
								<xs:complexContent>
									<xs:extension base="DatosType">
										<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
									</xs:extension>
								</xs:complexContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:any minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ContenidoAntecedenteBinarioType">
		<xs:sequence>
			<xs:element name="Origen" type="DatosType" minOccurs="0"/>
			<xs:element name="Archivo">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Nombre" type="xs:string"/>
						<xs:element name="MimeType" type="xs:string"/>
						<xs:element name="NroBytes" type="xs:string"/>
						<xs:element name="DataCodificada" type="xs:base64Binary"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ContenidoSobreType">
		<xs:sequence>
			<xs:element name="Remitente" type="DatosType"/>
			<xs:element name="Destinatario" type="DatosType"/>
			<xs:element name="Contacto" type="DatosType"/>
			<xs:element name="Fecha" type="xs:dateTime"/>
			<xs:element name="Envio" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence minOccurs="0">
						<xs:choice minOccurs="0">
							<xs:element name="IdProceso"/>
							<xs:group ref="TramiteGroup"/>
						</xs:choice>
						<xs:element name="Contacto" type="DatosType" minOccurs="0"/>
						<xs:element name="Pieza" type="PiezaType" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="numero" type="xs:positiveInteger" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ContenidoExpedienteType">
		<xs:sequence>
			<xs:element name="Interesado" type="DatosType"/>
			<xs:element name="Descripcion" type="xs:string"/>
			<xs:element name="Procedimiento" type="xs:string"/>
			<xs:element name="FchCreacion" type="xs:dateTime"/>
			<xs:element name="Estado" type="xs:string"/>
			<xs:element name="RegActuaciones">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Actuacion" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Fecha" type="xs:date"/>
									<xs:element name="Descripcion" type="xs:string"/>
								</xs:sequence>
								<xs:attribute name="numero" type="xs:positiveInteger" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Piezas">
				<xs:complexType>
					<xs:sequence minOccurs="0">
						<xs:element name="Pieza" type="PiezaType" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="version" type="xs:decimal" use="required" fixed="1.0"/>
	</xs:complexType>
	<xs:complexType name="ParrafosType">
		<xs:sequence>
			<xs:element name="Parrafo" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="numero" type="xs:int" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DatosType">
		<xs:sequence>
			<xs:element name="Tipo">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="PERSONA"/>
						<xs:enumeration value="INSTITUCION"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Tratamiento" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="SEÑOR"/>
						<xs:enumeration value="SEÑORA"/>
						<xs:enumeration value="SEÑORES"/>
						<xs:enumeration value="SEÑORAS"/>
						<xs:enumeration value="SEÑORITA"/>
						<xs:enumeration value="SEÑORITAS"/>
						<xs:enumeration value="ILUSTRE"/>
						<xs:enumeration value="ILUSTRISIMA"/>
						<xs:enumeration value="ILUSTRISIMO"/>
						<xs:enumeration value="EXCELENTISIMA"/>
						<xs:enumeration value="EXCELENTISIMO"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="NomInstitucion" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="GlosaLinea" maxOccurs="15">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="codigo" type="xs:string"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NomPersona" type="xs:string" minOccurs="0"/>
			<xs:element name="Sigla" type="xs:string" minOccurs="0"/>
			<xs:element name="RUT" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="3"/>
						<xs:maxLength value="10"/>
						<xs:pattern value="[0-9]+-([0-9]|K)"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="DscEsp" type="xs:string" minOccurs="0"/>
			<xs:element name="Cargo" minOccurs="0">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="calidad">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="TITULAR"/>
										<xs:enumeration value="SUBROGANTE"/>
										<xs:enumeration value="INTERINO"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:attribute>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Telefono" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="TelefonoType">
							<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="TelefonoMovil" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="TelefonoType">
							<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="Fax" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:complexContent>
						<xs:extension base="TelefonoType">
							<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
						</xs:extension>
					</xs:complexContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="eMail" block="extension" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="eMailType">
							<xs:attribute name="numero" type="xs:positiveInteger" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="PagWeb" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="Domicilio" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Direccion" type="xs:string"/>
						<xs:element name="Ciudad" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="codigo" type="xs:string"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="Comuna" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="codigo" type="xs:string"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="Provincia" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="codigo" type="xs:string"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="Region" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="RegionType">
										<xs:attribute name="codigo" type="xs:string"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="Pais" minOccurs="0">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="codigo"/>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
						<xs:element name="CodPostal" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TelefonoType">
		<xs:sequence>
			<xs:element name="CodPais" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="([0-9])+"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="CodCiudad" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="([0-9])+"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Numero">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:pattern value="([0-9])+"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EnvioType">
		<xs:sequence minOccurs="0">
			<xs:choice minOccurs="0">
				<xs:element name="IdProceso"/>
				<xs:group ref="TramiteGroup"/>
			</xs:choice>
			<xs:element name="Contacto" type="DatosType" minOccurs="0"/>
			<xs:element name="Pieza" type="PiezaType" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="numero" type="xs:positiveInteger" use="required"/>
	</xs:complexType>
	<xs:complexType name="PiezaType">
		<xs:sequence>
			<xs:element name="Descripcion" type="xs:string"/>
			<xs:element name="Plantilla" type="xs:anyURI" minOccurs="0"/>
			<xs:element name="FchIngreso" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="Contacto" type="DatosType" minOccurs="0"/>
			<xs:choice>
				<xs:element ref="ds:Signature"/>
				<xs:element name="LocalizacionFisica" type="xs:string"/>
				<xs:element ref="Documento"/>
			</xs:choice>
		</xs:sequence>
		<xs:attribute name="numero" type="xs:positiveInteger" use="required"/>
		<xs:attribute name="tipo" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="DOC_DIGITAL"/>
					<xs:enumeration value="REF_DIGITAL"/>
					<xs:enumeration value="REF_FISICA"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="estado">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="0"/>
					<xs:enumeration value="1"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="CGRObjectType">
		<xs:sequence>
			<xs:element name="DatosOperacion">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Tipo">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="FIRMA"/>
									<xs:enumeration value="VISACION"/>
									<xs:enumeration value="TIMBRE"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="Fecha" type="xs:date" minOccurs="0"/>
						<xs:choice minOccurs="0">
							<xs:element name="Visador" type="DatosType"/>
							<xs:element name="Firmante" type="DatosType"/>
							<xs:group ref="DatosTimbreGroup"/>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element ref="ds:Signature"/>
		</xs:sequence>
		<xs:attribute name="Id" type="xs:ID"/>
	</xs:complexType>
	<xs:group name="DatosTimbreGroup">
		<xs:sequence>
			<xs:element name="IdTimbre" type="xs:string"/>
			<xs:element name="NomInstitucion">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="GlosaLinea" maxOccurs="15">
							<xs:complexType>
								<xs:simpleContent>
									<xs:extension base="xs:string">
										<xs:attribute name="numero" type="xs:positiveInteger" use="optional">
											<xs:annotation>
												<xs:documentation>Número Correlativo Ej: 1</xs:documentation>
											</xs:annotation>
										</xs:attribute>
									</xs:extension>
								</xs:simpleContent>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Glosa" type="xs:string"/>
			<xs:element name="Folio" type="FolioType" minOccurs="0"/>
		</xs:sequence>
	</xs:group>
</xs:schema>
